package cn.bdqn.mapper;

import cn.bdqn.domain.Course;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课程接口
 * @author dkj
 */
public interface CourseMapper {
    /**
     * 根据id删除
     * @param id
     */
    void deleteByPrimaryKey(Integer id);

    /**
     * 添加
     * @param record
     */
    void insert(Course record);

    /**
     * 选择添加
     * @param record
     */
    void insertSelective(Course record);

    /**
     * 根据主键id查询
     * @param id
     * @return
     */
    Course selectByPrimaryKey(Integer id);

    /**
     * 更新
     * @param record
     */
    void updateByPrimaryKeySelective(Course record);

    /**
     * 更新
     * @param record
     */
    void updateByPrimaryKeyWithBLOBs(Course record);

    /**
     * 根据课程id修改发布状态
     * @param courseId
     * @param issueState
     */
    void updateByIssueState(@Param("courseId") Integer courseId, @Param("issueState") Integer issueState);

    /**
     * 根据基地id查询课程
     * @param baseId
     * @return
     */
    List<Course> selectInfoByBaseId(Integer baseId);

    /**
     * 根据地址，适合学段，课程特色查询课程信息
     * @param baseAddress
     * @param fitAge
     * @param courseFeature
     * @return
     */
    List<Course> selectCourseInfoPagingByConditions(@Param("baseAddress") String baseAddress, @Param("fitAge") String fitAge, @Param("courseFeature") Integer courseFeature);

    /**
     * 查询全部信息
     * @return
     */
    List<Course> selectCourseAllInfo();
}
